//
//  PageControl.h
//  HealthStarApp
//
//  Created by zhumuzhi on 2019/12/21.
//  Copyright © 2019 zhumuzhi. All rights reserved.
//

NS_ASSUME_NONNULL_BEGIN

@interface PageControl : UIView

/// default is 0
@property (nonatomic, assign) NSInteger numberOfPages;

/// default is 0. Value is pinned to 0..numberOfPages-1
@property (nonatomic, assign) NSInteger currentPage;

/// hides the indicator if there is only one page, default is NO
@property (nonatomic) BOOL hidesForSinglePage;

/// The tint color for non-selected indicators. Default is nil.
@property (nullable, nonatomic, strong) UIColor *pageIndicatorTintColor;

/// Returns YES if the continuous interaction is enabled, NO otherwise. Default is YES.
@property (nonatomic, assign) BOOL allowsContinuousInteraction;

/// The preferred image for indicators. Symbol images are recommended. Default is nil.
@property (nonatomic, strong, nullable) UIImage *preferredIndicatorImage;

///*!
// * @abstract Returns the override indicator image for the specific page, nil if no override image was set.
// * @param page Must be in the range of 0..numberOfPages
// */
//- (nullable UIImage *)indicatorImageForPage:(NSInteger)page;
//
///*!
// * @abstract Override the indicator image for a specific page. Symbol images are recommended.
// * @param image    The image for the indicator. Resets to the default if image is nil.
// * @param page      Must be in the range of 0..numberOfPages
// */
//- (void)setIndicatorImage:(nullable UIImage *)image forPage:(NSInteger)page;
//
///// Returns the minimum size required to display indicators for the given page count. Can be used to size the control if the page count could change.
//- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount;
//
///// update page display to match the currentPage. ignored if defersCurrentPageDisplay is NO. setting the page value directly will update immediately
//- (void)updateCurrentPageDisplay;

@end

NS_ASSUME_NONNULL_END
